home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / sendmail / sendmail.cf / RCS / cf.m4,v next >
Encoding:
Text File  |  1987-08-06  |  27.1 KB  |  1,313 lines

  1. head     1.14;
  2. access   ;
  3. symbols  ;
  4. locks    ; strict;
  5. comment  @@;
  6.  
  7.  
  8. 1.14
  9. date     87.08.06.12.41.05;  author dudek;  state Exp;
  10. branches ;
  11. next     1.13;
  12.  
  13. 1.13
  14. date     87.05.26.09.34.47;  author dudek;  state Exp;
  15. branches ;
  16. next     1.12;
  17.  
  18. 1.12
  19. date     87.04.15.21.39.28;  author dudek;  state Exp;
  20. branches ;
  21. next     1.11;
  22.  
  23. 1.11
  24. date     87.04.15.21.22.00;  author dudek;  state Exp;
  25. branches ;
  26. next     1.10;
  27.  
  28. 1.10
  29. date     87.04.14.15.21.21;  author dudek;  state Exp;
  30. branches ;
  31. next     1.9;
  32.  
  33. 1.9
  34. date     87.04.06.15.17.26;  author dudek;  state Exp;
  35. branches ;
  36. next     1.8;
  37.  
  38. 1.8
  39. date     87.02.24.09.35.46;  author dudek;  state Exp;
  40. branches ;
  41. next     1.7;
  42.  
  43. 1.7
  44. date     87.02.23.21.42.12;  author dudek;  state Exp;
  45. branches ;
  46. next     1.6;
  47.  
  48. 1.6
  49. date     87.02.05.09.52.59;  author dudek;  state Exp;
  50. branches ;
  51. next     1.5;
  52.  
  53. 1.5
  54. date     86.10.29.08.17.25;  author dudek;  state Exp;
  55. branches ;
  56. next     1.4;
  57.  
  58. 1.4
  59. date     86.06.03.23.05.28;  author dudek;  state Exp;
  60. branches ;
  61. next     1.3;
  62.  
  63. 1.3
  64. date     86.03.20.18.16.34;  author dudek;  state Exp;
  65. branches ;
  66. next     1.2;
  67.  
  68. 1.2
  69. date     86.03.05.13.37.44;  author dudek;  state Exp;
  70. branches ;
  71. next     1.1;
  72.  
  73. 1.1
  74. date     86.01.13.12.59.35;  author dudek;  state Exp;
  75. branches ;
  76. next     ;
  77.  
  78.  
  79. desc
  80. @@
  81.  
  82.  
  83. 1.14
  84. log
  85. @fixed uucp on top of route-addr silliness -gd 8/6/87
  86. @
  87. text
  88. @############################################################
  89. ############################################################
  90. #####
  91. #####        SENDMAIL CONFIGURATION FILE
  92. #####
  93. ############################################################
  94. ############################################################
  95.  
  96. ######################
  97. #   General Macros   #
  98. ######################
  99.  
  100. include(defines)
  101.  
  102. include(localdomain)
  103.  
  104. include(hostnames)
  105.  
  106. # my official (Domain) hostname
  107. ifdef(`DOMAININNAME',
  108. `Dj$w'
  109. ,
  110. `Dj$w.$D')
  111.  
  112. # my offical (Domain) return address
  113. ifdef(`DOMAININNAME',
  114. `DA$J'
  115. ,
  116. `DA$J.$D')
  117.  
  118. # known top-level domains (other than ARPA domains)
  119. CDLOCAL UUCP BITNET DEC UTEXAS CSNET MAILNET CCNET
  120. # known ARPA domains
  121. FA/usr/local/lib/mail/mailhosts.arpadomains
  122. # domains with ARPA gateways
  123. CCDEC UTEXAS CSNET MAILNET
  124. # known BITNET domains, or domains with BITNET gateways
  125. CZBITNET CCNET
  126.  
  127. include(relays)
  128.  
  129.  
  130. #########################
  131. ###   Trusted users   ###
  132. #########################
  133.  
  134. include(trusted)
  135.  
  136.  
  137. ############################################################
  138. #
  139. #    General configuration information
  140. #
  141. #    This information is basically just "boiler-plate"; it must be
  142. #    there, but is essentially constant.
  143. #
  144. #    Information in this file should be independent of location --
  145. #    i.e., although there are some policy decisions made, they are
  146. #    not specific to Berkeley per se.
  147. #
  148. #
  149. ############################################################
  150.  
  151. DVa0.25
  152.  
  153. ##########################
  154. ###   Special macros   ###
  155. ##########################
  156.  
  157. # my name
  158. DnMAILER-DAEMON
  159. # UNIX header format
  160. DlFrom $g  $d
  161. # delimiter (operator) characters
  162. Do.:%@@!^=/[],;
  163. # format of a total name
  164. Dq$g$?x ($x)$.
  165. # SMTP login message
  166. De$j Sendmail $v/$V ready at $b
  167.  
  168. ###################
  169. ###   Options   ###
  170. ###################
  171.  
  172. include(options)
  173.  
  174. ###############################
  175. ###   Message precedences   ###
  176. ###############################
  177.  
  178. Pfirst-class=0
  179. Pspecial-delivery=100
  180. Pjunk=-100
  181.  
  182. #############################
  183. ###   Format of headers   ###
  184. #############################
  185.  
  186. H?P?Return-Path: <$g>
  187. H?R?Received: $?sfrom $s $.by $j$?r with $r$.; $b
  188. H?D?Date: $a
  189. H?F?Resent-From: $q
  190. H?F?From: $q
  191. HSubject:
  192.  
  193.  
  194. ###########################
  195. ###   Rewriting rules   ###
  196. ###########################
  197.  
  198.  
  199. ################################
  200. #  Sender Field Pre-rewriting  #
  201. ################################
  202. S1
  203.  
  204. ###################################
  205. #  Recipient Field Pre-rewriting  #
  206. ###################################
  207. S2
  208.  
  209. #################################
  210. #  Final Output Post-rewriting  #
  211. #################################
  212. S4
  213.  
  214. R@@            $@@                handle <> error addr
  215.  
  216. # call local externalizing ruleset
  217. R$+            $:$>8$1
  218.  
  219. # kludge for internet spec
  220. R$+<@@>            $:$1
  221.  
  222. # remove focus
  223. R$*<$+>$*        $1$2$3                defocus
  224.  
  225. # change mixed-mode '@@' and '!' into route-addr if appropriate
  226. R$+!$+@@$+        $:$>9$1!$2@@$3
  227.  
  228. # turn multiple-'@@' to route-addr
  229. R$+@@$+@@$+        $:<:$1@@$2>@@$3
  230. R<:$*>@@$+@@$+        <@@$2:$1>@@$3
  231. R<:$*>@@$+        $@@@@$2:$1
  232. R<@@$*>@@$+@@$+        <@@$2,@@$1>@@$3
  233. R<$*>@@$+        $@@@@$2,$1
  234.  
  235. #################################
  236. #  Local externalization        #
  237. #################################
  238. S8
  239.  
  240. # make sure UUCP is in old form
  241. R$+<@@$*.UUCP>        $@@$2!$1                u@@host.UUCP => host!u
  242.  
  243. # externalize local domain info
  244. R$*<@@$*.LOCAL>        $@@$1<@@$2>            change local info
  245.  
  246. # handle other external cases
  247. R$+<@@$+>        $@@$1<@@$2>
  248.  
  249. #################################
  250. #  UUCP -> ARPA route-addr    #
  251. #################################
  252. S9
  253. # focus on first uucp address
  254. R$+!$+@@$+        $:<!$1>$2@@$3
  255. # if the first bang-host is arpa-style, turn it into an '@@'
  256. R<!$+.$=A>$+@@$+        $@@$>9$3@@$1.$2@@$4
  257. # else simply return as mixed-mode
  258. R<!$+>$+@@$+        $@@$1!$2@@$3
  259.  
  260. ###########################
  261. #  Name Canonicalization  #
  262. ###########################
  263. S3
  264.  
  265. # handle "from:<>" special case
  266. R<>            $@@@@                turn into magic token
  267.  
  268. # basic textual canonicalization
  269. R$*<$+>$*        $2                basic RFC821/822 parsing
  270. R$+ at $+        $1@@$2                "at" -> "@@" for RFC 822
  271.  
  272. # handle route-addr (ARPA routing syntax)
  273. # in general, change @@a,@@b:user@@c <=> user@@c@@b@@a
  274. # prepare to focus
  275. #
  276. # KLUDGE - strip stupid uucp path from front of route-addrs - gd 8/6/87
  277. #  foo!@@bar:user@@gag <=> @@bar:user@@gag
  278. R$+!@@$+:$+@@$+        $:@@$2:$3@@$4
  279. # recognize route-addr
  280. R@@$+            $:@@$1<>
  281. # change @@b,@@c:user@@d<@@a> <=> @@c:user@@d<@@b@@a>
  282. R@@$+,@@$+:$+<$*>        @@$2:$3<@@$1$4>
  283. # change @@a:user@@b <=> user@@b<@@a>
  284. R@@$+:$+<$*>        $2<@@$1$3>
  285. # defocus, and treat as simple 'user@@site' below
  286. R$+<$*>            $1$2
  287.  
  288. # focus on destination host.domain
  289. R$+@@$+            $:$1<@@$2>            focus on domain
  290. # This is repeated until focused on the rightmost '@@'
  291. R$+<$+@@$+>        $1$2<@@$3>            move gaze right
  292. # canonical - do local rewriting
  293. R$+<@@$+>        $@@$>6$1<@@$2>
  294.  
  295. # convert old-style addresses to a domain-based address
  296. # (has to come after recognition of user@@site, else bad recursion)
  297. #
  298. # user%host
  299. R$+%$+            $:$1<@@$2>            user%host
  300. R$+<@@$+%$+>        $1%$2<@@$3>            move right
  301. R$+<@@$*>        $@@$>6$1<@@$2>            already canonical
  302. #
  303. # host^user or host!user
  304. # host!user is the same as 'user@@host' for known local hosts, or
  305. # 'user@@host.UUCP' for other hosts.
  306. R$+^$+            $1!$2                convert ^ to !
  307. R$-!$+            $:$2<@@$1>            resolve uucp names
  308. R$+<@@$=L>        $@@$>6$1<@@$2>            canonicalize local host
  309. R$+<@@$->        $@@$>6$1<@@$2.UUCP>        add UUCP domain
  310. # harvard.ARPA!root <=> root<@@harvard.ARPA>
  311. # NOTE: this relies on matching the FIRST "!" in the address
  312. R$-.$+!$+        $@@$>6$3<@@$1.$2>            keep domain info
  313.  
  314. #
  315. # host::user
  316. # host::user is the same as 'user@@host' for known local hosts, or
  317. # 'user@@host.DECNET' for other hosts.
  318. R$-::$+            $:$2<@@$1>            resolve decnet names
  319. R$+<@@$=L>        $@@$>6$1<@@$2>            canonicalize local host
  320. R$+<@@$->        $@@$>6$1<@@$2.DECNET>        add DECNET domain
  321. # harvard.ARPA::root <=> root<@@harvard.ARPA>
  322. # NOTE: this relies on matching the FIRST "::" in the address
  323. R$-.$+::$+        $@@$>6$3<@@$1.$2>            harvard.ARPA::root
  324.  
  325. #
  326. # host:user
  327. # ':' represents BITNET just like '!' represents UUCP - kludge for sob
  328. # host:user is the same as 'user@@host' for known local hosts, or
  329. # 'user@@host.BITNET' for other hosts.
  330. # NOTE: ":" parsed after "!" so that site1!site2:user parsed as
  331. #  site2:user<@@site1.UUCP>
  332. R$-:$+            $:$2<@@$1>            resolve BITNET names
  333. R$+<@@$=L>        $@@$>6$1<@@$2>            canonicalize local host
  334. R$+<@@$->        $@@$>6$1<@@$2.BITNET>        add BITNET domain
  335. # harvard.ARPA:root <=> root<@@harvard.ARPA>
  336. # NOTE: this relies on matching the FIRST ":" in the address
  337. R$-.$+:$+        $@@$>6$3<@@$1.$2>            harvard.ARPA:root
  338.  
  339. #################################
  340. #  Local Name Canonicalization  #
  341. #################################
  342. S6
  343.  
  344. # Make canonical (using /etc/hosts)
  345. # Note that the domain may not be returned from /etc/hosts, but that's ok
  346. ifdef(`NODOMAINS',
  347. `R$*<@@$-.$D>        $:$1<@@$[$2$]>
  348. R$*<@@$->        $:$1<@@$[$2$]>'
  349. ,
  350. `# Use our domain in lookup to avoid ambiguities (like seismo.harvard.edu)
  351. R$*<@@$->        $:$1<@@$2.$D>
  352. R$*<@@$-.$D>        $:$1<@@$[$2.$D$]>')
  353.  
  354. # Kludge around BITNET mail bug - strip BITNET if destination host
  355. # really in DOMAIN syntax
  356. R$*<@@$*$=A.BITNET>    $:$1<@@$2$3>
  357.  
  358. # Convert LOCAL to our local domain
  359. R$*<@@$-.LOCAL>        $1<@@$2.$D>
  360. # Local hosts are recognized later by the fact that there is NO domain
  361. #  in the focus.  Strip our domain here.
  362. R$*<@@$-.$D>        $1<@@$2>
  363.  
  364. # Pass thru mail specifier
  365. # foo!bar;nopath<@@seismo> <=> foo!bar<@@seismo;nopath>
  366. R$*;$-<@@$*>        $1<@@$3;$2>
  367.  
  368.  
  369. ############################################################
  370. ############################################################
  371. #####
  372. #####        RULESET ZERO
  373. #####
  374. ############################################################
  375. ############################################################
  376.  
  377. S0
  378.  
  379. # handle special cases.....
  380. R@@            $#local$:MAILER-DAEMON        handle <> form
  381.  
  382. # handle numeric internet spec
  383. #  do not pass host address to mailer rulesets, cause host won't recognize its
  384. #  own address.  Need the '@@' so we don't tack local hostname on the end.
  385. R$*<@@[$+]>        $#arpa-mailer$@@[$2]$:$1<@@>    numeric internet spec
  386.  
  387. ##################################
  388. #  End of ruleset zero preamble  #
  389. ##################################
  390.  
  391. #
  392. # find our host
  393. # user@@ourhost <=> user
  394. R$+<@@$=J>        $@@$>7$1            user@@harvard
  395. # Check for UUCP
  396. R$+<@@$=U.UUCP>        $@@$>7$1            user@@harvard.UUCP
  397. # Check for BITNET
  398. R$+<@@$=B.BITNET>    $@@$>7$1            user@@harvard.BITNET
  399.  
  400. ifdef(`ANYDOMAIN',
  401. `# These are sorta dangerous, if our canonical name is not unique
  402. # user@@ourhost.ARPA <=> user
  403. R$+<@@$=J.ARPA>        $@@$>7$1            user@@harvard.ARPA (sigh)
  404. # user@@ourhost.FOONET <=> user
  405. R$+<@@$=J.$=D>        $@@$>7$1            user@@harvard.BITNET',`')
  406.  
  407. # find our domain, and do something appropriate (send to machine harvard)
  408. R$+<@@$D>        $@@$>7$1@@harvard        user@@HARVARD.EDU
  409.  
  410. #
  411. # watch for UUCP to us
  412. # harvard!user<@@site.UUCP> <=> user
  413. R$=U!$+<@@$+.UUCP>    $@@$>7$2            harvard!user@@site.UUCP
  414. # watch for uucp-type forwarding to ARPA
  415. # harvard!user<@@site.NOTUUCP> <=> user<@@site.NOTUUCP>
  416. R$=U!$+<@@$+>        $2<@@$3>            harvard!USER@@SITE.ARPA
  417. # Other forwarding to ARPA - try not to be too amibitious here, use only
  418. #  the canonical hostname
  419. # harvard:user<@@site.ANYTHING> <=> user<@@site.ANYTHING>
  420. R$=J:$+<@@$+>        $2<@@$3>            harvard:USER@@SITE.ARPA
  421.  
  422. #
  423. # mailer specified addresses
  424. #
  425. # These are here for emergencies and mail testing
  426. #
  427. ifdef(`BITNETRELAY',
  428. `# force to BITNET relay
  429. R$*<@@$*;bitnet>        $@@$>7$1@@$2;bitnet@@$F
  430. R$*<@@$*;ccnet>        $@@$>7$1@@$2;ccnet@@$F'
  431. ,
  432. `# force to BITNET
  433. R$*<@@$-$*;bitnet>    $#bitnet-mailer$@@$2$:$1
  434. # problem here - does mailer need user@@site.CCNET for destination???
  435. R$*<@@$-$*;ccnet>    $#ccnet-mailer$@@$2$:$1')
  436.  
  437. ifdef(`ARPARELAY',
  438. `# force to ARPA relay
  439. R$*<@@$*;arpa>        $@@$>7$1@@$2;arpa@@$C'
  440. ,
  441. `# force to ARPA
  442. R$*<@@$*;arpa>        $#arpa-mailer$@@$2$:$1<@@$2>')
  443.  
  444. # force to uucp
  445. R$*<@@$-$*;uucp>        $#uucp-mailer$@@$2$:$1
  446.  
  447. # force to pathalias
  448. R$*<@@$*;pathalias>    $#path-mailer$@@pathalias:$2!$1
  449.  
  450. ifdef(`ETHERRELAY',
  451. `# force to ether relay
  452. R$*<@@$*;ether>        $@@$>7$1@@$2;ether@@$G'
  453. ,
  454. `# force to ether
  455. R$+@@$+<@@$*;ether>    $#ether-mailer$@@$3$:$1@@$2
  456. R$*<@@$*;ether>        $#ether-mailer$@@$2$:$1<@@$2>')
  457.  
  458. # put relaying here, before trying to resolve addresses
  459. include(relayrules)
  460.  
  461. #
  462. # non-local addresses
  463. #
  464.  
  465. # resolve UUCP links
  466. ifdef(`PATHALIAS',
  467. `# watch for hosts listed in L.sys but should be pathaliased anyway
  468. R$*<@@$=Y.UUCP>        $#path-mailer$@@pathalias$:$2!$1',`')
  469. # uucp direct to non-local host
  470. R$*<@@$=E.UUCP>        $#uucp-mailer$@@$2$:$1    user@@host.UUCP
  471. ifdef(`PATHALIAS',
  472. `R$*<@@$=E.UUCP;nopath>    $#uucp-mailer$@@$2$:$1',`')
  473.  
  474. ifdef(`PATHALIAS',
  475. `# uucp (non-direct) to non-local host - try pathalias
  476. R$*<@@$*.UUCP>        $#path-mailer$@@pathalias$:$2!$1
  477. # Already tried pathalias, so remove "nopath" specifier
  478. R$*<@@$*;nopath>        $1<@@$2>            already tried pathalias
  479. R$*;nopath        $1            pathaliased to this host',`')
  480.  
  481. ifdef(`UUCPRELAY',
  482. `# uucp (non-direct) to non-local host - send to UUCP relay host
  483. R$*<@@$*.UUCP>        $@@$>7$1@@$2.UUCP@@$E    user@@somewhere.UUCP'
  484. ,
  485. `# uucp to unknown host - try uucp anyway
  486. R$*<@@$*.UUCP>        $#uucp-mailer$@@$2$:$1    user@@somewhere.UUCP')
  487.  
  488. ifdef(`BITNETRELAY',
  489. `# BITNET to non-local host - send to local BITNET relay
  490. R$*<@@$*.$=Z>        $@@$>7$1@@$2.$3@@$F    user@@somewhere.BITNET'
  491. ,
  492. `# BITNET to non-local host direct
  493. R$*<@@$*.BITNET>        $#bitnet-mailer$@@$2$:$1
  494. R$*<@@$*.CCNET>        $#ccnet-mailer$@@$2$:$1@@$2.CCNET')
  495.  
  496. ifdef(`DECNETRELAY',
  497. `# DECNET to non-local host - send to local DECNET relay
  498. R$*<@@$*.DECNET>        $@@$>7$1@@$2.DECNET@@$H    user@@somewhere.DECNET'
  499. ,
  500. `# DECNET to non-local host direct
  501. R$*<@@$*.DECNET>        $#decnet-mailer$@@$2$:$1')
  502.  
  503. ifdef(`ARPARELAY',
  504. `# ARPA to non-local host - send to local ARPA relay
  505. R$*<@@$*.$=A>        $@@$>7$1@@$2.$3@@$C    user@@somewhere.ARPA
  506. R$*<@@$*.$=C>        $@@$>7$1@@$2.$3@@$C    user@@somewhere.CSNET'
  507. ,
  508. `# ARPA to non-local host direct
  509. R$*<@@$-.$*$=A>        $#arpa-mailer$@@$2.$3$4$:$1<@@$2.$3$4>
  510. R$*<@@$*.DEC>        $#arpa-mailer$@@decwrl.dec.com$:$1<@@$2.DEC>
  511. R$*<@@$*.UTEXAS>        $#arpa-mailer$@@sally.utexas.edu$:$1<@@$2.UTEXAS>
  512. R$*<@@$*.CSNET>        $#arpa-mailer$@@relay.cs.net$:$1<@@$2.CSNET>
  513. R$*<@@$*.MAILNET>    $#arpa-mailer$@@mit-multics.arpa$:$1<@@$2.MAILNET>')
  514.  
  515. #
  516. # resolve local addresses
  517. #
  518.  
  519. ifdef(`MAILSLAVES',
  520. `# mail to local users on our mail slaves can be delivered directly
  521. R$-<@@$=R>        $1')
  522.  
  523. ifdef(`BITNETRELAY',
  524. `# BITNET to local host - send to local BITNET relay
  525. R$*<@@$=F>        $@@$>7$1@@$2.BITNET@@$F'
  526. ,
  527. `# BITNET to local host direct
  528. R$*<@@$=F>        $#bitnet-mailer$@@$2$:$1')
  529.  
  530. ifdef(`DECNETRELAY',
  531. `# decnet to local host - send to local DECNET relay
  532. R$*<@@$=H>        $@@$>7$1@@$2.DECNET@@$H'
  533. ,
  534. `# decnet to local host direct
  535. R$*<@@$=H>        $#decnet-mailer$@@$2$:$1')
  536.  
  537. ifdef(`ETHERRELAY',
  538. `# ethernet to local host - send to local ETHER relay
  539. R$*<@@$=G>        $@@$>7$1@@$2@@$G'
  540. ,
  541. `# ethernet to local host direct
  542. R$+@@$+<@@$=G>        $#ether-mailer$@@$3$:$1@@$2
  543. R$*<@@$=G>        $#ether-mailer$@@$2$:$1<@@$2>')
  544.  
  545. # uucp to local host
  546. R$*<@@$=E>        $#uucp-mailer$@@$2$:$1        person@@localuucphost
  547.  
  548. ifdef(`LOCALRELAY',
  549. `# to other local hosts - send to local generic LOCAL relay
  550. R$*<@@$->        $@@$>7$1@@$2@@$L'
  551. ,
  552. `# unknown local host
  553. ifdef(`DEFAULTMAILER',
  554. `# try default mailer
  555. R$*<@@$->        $#$M$@@$2$:$1',
  556. `# the buck stops here - local host unknown
  557. R$*<@@$*>        $#error$@@x$:$2: Unknown local host')')
  558.  
  559. ifdef(`DEFAULTRELAY',
  560. `# Forward to a host which is smarter than us
  561. R$*<@@$*>        $@@$>7$1@@$2@@$N        user@@unknowndomain',
  562. `# unknown destination host/domain - bounce
  563. R$*<@@$*>        $#error$@@x$:$2: Unknown host/domain')
  564.  
  565. # remaining names must be local
  566. ifdef(`MAILRELAY',
  567. `# Relay all local mail
  568. R$+            $@@$>7$1@@$R        everything else'
  569. ,
  570. `R$+            $#local$:$1        everything else')
  571.  
  572.  
  573. #####################################################
  574. #  Code to retry through Rulesets 3 and 0           #
  575. #####################################################
  576. S7
  577.  
  578. # Make canonical
  579. R$+            $:$>3$1
  580. # Retry
  581. R$+            $@@$>0$1
  582.  
  583. @
  584.  
  585.  
  586. 1.13
  587. log
  588. @Changed BITNET mailer in mailers.m4, updated to a0.24 release -gd
  589. @
  590. text
  591. @d64 1
  592. a64 1
  593. DVa0.24
  594. d188 5
  595. d266 4
  596. @
  597.  
  598.  
  599. 1.12
  600. log
  601. @release a0.22 - kludged broken '%' routing to ARPA
  602. @
  603. text
  604. @d34 1
  605. a34 1
  606. FA/etc/mailhosts.arpadomains
  607. d64 1
  608. a64 1
  609. DVa0.22
  610. d132 3
  611. a284 1
  612. R$*<@@[$+]>        $#arpa-mailer$@@[$2]$:$1        numeric internet spec
  613. d286 5
  614. d422 4
  615. @
  616.  
  617.  
  618. 1.11
  619. log
  620. @a0.21 release - fixed bug in arpa-mailer rulesets
  621. @
  622. text
  623. @d64 1
  624. a64 1
  625. DVa0.21
  626. @
  627.  
  628.  
  629. 1.10
  630. log
  631. @a0.20 release, fixed route-addr, removed '%' forwarding to relays
  632. @
  633. text
  634. @d64 1
  635. a64 1
  636. DVa0.20
  637. @
  638.  
  639.  
  640. 1.9
  641. log
  642. @Took out '%' forwarding to relays - new Va0.03
  643. @
  644. text
  645. @d64 1
  646. a64 1
  647. DVa0.10
  648. d135 10
  649. d151 1
  650. a151 1
  651. R$+<@@$*.UUCP>        $2!$1                u@@host.UUCP => host!u
  652. d154 1
  653. a154 1
  654. R$*<$*.LOCAL>        $1<$2>                change local info
  655. d156 14
  656. d183 5
  657. a187 4
  658. # leave @@b:user@@c@@a alone
  659. R@@$+:$+@@$+@@$+        $@@$>6@@$1:$2@@$3<@@$4>
  660. # change @@a,@@b:user@@c <=> @@b:user@@c<@@a>
  661. R@@$+,@@$+:$+        $@@$>6@@$2:$3<@@$1>
  662. d189 3
  663. a191 1
  664. R@@$+:$+            $@@$>6$2<@@$1>
  665. d339 1
  666. a339 1
  667. R$*<@@$*;arpa>        $#arpa-mailer$@@$2$:$1')
  668. d347 7
  669. a353 2
  670. # force to ether
  671. R$*<@@$*;ether>        $#ether-mailer$@@$2$:$1
  672. d406 1
  673. a406 1
  674. R$*<@@$-.$*$=A>        $#arpa-mailer$@@$2.$3$4$:$1
  675. d435 2
  676. a436 1
  677. R$*<@@$=G>        $#ether-mailer$@@$2$:$1')
  678. @
  679.  
  680.  
  681. 1.8
  682. log
  683. @Fixed 'harvard!harvard' return address - new Va0.02
  684. @
  685. text
  686. @d299 2
  687. a300 2
  688. R$*<@@$*;bitnet>        $@@$>7$1%$2;bitnet@@$F
  689. R$*<@@$*;ccnet>        $@@$>7$1%$2;ccnet@@$F'
  690. d309 1
  691. a309 1
  692. R$*<@@$*;arpa>        $@@$>7$1%$2;arpa@@$C'
  693. d312 1
  694. a312 1
  695. R$*<@@$*;arpa>        $#arpa-mailer$@@$2$:$1<@@$2>')
  696. d321 1
  697. a321 1
  698. R$*<@@$*;ether>        $#ether-mailer$@@$2$:$1<@@$2>
  699. d348 1
  700. a348 1
  701. R$*<@@$*.UUCP>        $@@$>7$1%$2.UUCP@@$E    user@@somewhere.UUCP'
  702. d355 1
  703. a355 1
  704. R$*<@@$*.$=Z>        $@@$>7$1%$2.$3@@$F    user@@somewhere.BITNET'
  705. d363 1
  706. a363 1
  707. R$*<@@$*.DECNET>        $@@$>7$1%$2.DECNET@@$H    user@@somewhere.DECNET'
  708. d370 2
  709. a371 2
  710. R$*<@@$*.$=A>        $@@$>7$1%$2.$3@@$C    user@@somewhere.ARPA
  711. R$*<@@$*.$=C>        $@@$>7$1%$2.$3@@$C    user@@somewhere.CSNET'
  712. d374 1
  713. a374 1
  714. R$*<@@$-.$*$=A>        $#arpa-mailer$@@$2.$3$4$:$1<@@$2.$3$4>
  715. d386 1
  716. a386 1
  717. R$*<@@$=F>        $@@$>7$1%$2.BITNET@@$F'
  718. d393 1
  719. a393 1
  720. R$*<@@$=H>        $@@$>7$1%$2.DECNET@@$H'
  721. d400 1
  722. a400 1
  723. R$*<@@$=G>        $@@$>7$1%$2@@$G'
  724. d403 1
  725. a403 1
  726. R$*<@@$=G>        $#ether-mailer$@@$2$:$1<@@$2>')
  727. d410 1
  728. a410 1
  729. R$*<@@$->        $@@$>7$1%$2@@$L'
  730. d415 1
  731. a415 1
  732. R$*<@@$->        $#$M$@@$2$:$1<@@$2.$D>',
  733. d421 1
  734. a421 1
  735. R$*<@@$*>        $@@$>7$1%$2@@$N        user@@unknowndomain',
  736. @
  737.  
  738.  
  739. 1.7
  740. log
  741. @Removed TCPUUCP - new version a0.02
  742. @
  743. text
  744. @d283 1
  745. a283 1
  746. R$=U!$+<@@$+.UUCP>    $@@$>7$1            harvard!user@@site.UUCP
  747. d286 1
  748. a286 1
  749. R$=U!$+<@@$+>        $1<@@$2>            harvard!USER@@SITE.ARPA
  750. d290 1
  751. a290 1
  752. R$=J:$+<@@$+>        $1<@@$2>            harvard:USER@@SITE.ARPA
  753. @
  754.  
  755.  
  756. 1.6
  757. log
  758. @New alpha 1.0 release, includes DECNET support
  759. @
  760. text
  761. @a18 4
  762. # hack for SUN 3.0, which doesn't match $w on the left hand
  763. #  side of a rewriting rule!!!
  764. Cw$w
  765.  
  766. d38 1
  767. a38 1
  768. CFBITNET CCNET
  769. d64 1
  770. a64 1
  771. DV4.30
  772. d225 2
  773. a226 2
  774. `R$*<@@$->        $:$1<@@$[$2$]>
  775. R$*<@@$-.$D>        $:$1<@@$[$2$]>'
  776. d229 1
  777. a229 1
  778. R$*<@@$->        $:$1<@@$[$2.$D$]>
  779. d264 5
  780. a268 4
  781. R$+<@@$=w>        $@@$>7$1            user@@harvard.harvard.edu
  782. # check to see if we are mail serving for someone else
  783. # user@@ourmailclient <=> user
  784. R$*<@@$=J>        $@@$>7$1            user@@mailclient
  785. d270 2
  786. a271 1
  787. # These are sorta dangerous, if our canonical name is not unique
  788. d273 1
  789. a273 1
  790. R$+<@@$=w.ARPA>        $@@$>7$1            user@@harvard.ARPA (sigh)
  791. d275 2
  792. a276 1
  793. R$+<@@$=w.$=D>        $@@$>7$1            user@@harvard.BITNET
  794. d283 1
  795. a283 1
  796. R$U!$+<@@$+.UUCP>    $@@$>7$1            harvard!user@@site.UUCP
  797. d286 1
  798. a286 1
  799. R$U!$+<@@$+>        $1<@@$2>            harvard!USER@@SITE.ARPA
  800. d290 1
  801. a290 1
  802. R$=w:$+<@@$+>        $1<@@$2>            harvard:USER@@SITE.ARPA
  803. a330 5
  804. ifdef(`TCPUUCP',
  805. `# Use SMTP to deliver UUCP mail to these hosts
  806. ifdef(`ARPARELAY',`',
  807. `# resolve tcp uucp links
  808. R$*<@@$=I.UUCP>        $#tcpuucp$@@$2$:$1
  809. a331 3
  810. `R$*<@@$=I.UUCP;nopath>    $#tcpuucp$@@$2$:$1',`')')',`')
  811.  
  812. ifdef(`PATHALIAS',
  813. d333 1
  814. a333 1
  815. R$*<@@$=E.UUCP>        $#path-mailer$@@pathalias$:$2!$1',`')
  816. d335 1
  817. a335 1
  818. R$*<@@$=U.UUCP>        $#uucp-mailer$@@$2$:$1    user@@host.UUCP
  819. d337 1
  820. a337 1
  821. `R$*<@@$=U.UUCP;nopath>    $#uucp-mailer$@@$2$:$1',`')
  822. d355 1
  823. a355 1
  824. R$*<@@$*.$=F>        $@@$>7$1%$2.$3@@$F    user@@somewhere.BITNET'
  825. d386 1
  826. a386 1
  827. R$*<@@$=B>        $@@$>7$1%$2.BITNET@@$F'
  828. d389 1
  829. a389 1
  830. R$*<@@$=B>        $#bitnet-mailer$@@$2$:$1')
  831. d406 1
  832. a406 1
  833. R$*<@@$=U>        $#uucp-mailer$@@$2$:$1        person@@localuucphost
  834. @
  835.  
  836.  
  837. 1.5
  838. log
  839. @*** empty log message ***
  840. @
  841. text
  842. @d17 1
  843. a17 1
  844. include(hostnets)
  845. d19 4
  846. d24 1
  847. a24 1
  848. ifdef(`DOMAINS',
  849. d27 2
  850. a28 2
  851. `Dj$w.$D'
  852. )
  853. d30 1
  854. a30 1
  855. ifdef(`DOMAINS',
  856. d33 1
  857. a33 2
  858. `DA$J.$D'
  859. )
  860. d38 1
  861. a38 1
  862. CAARPA EDU COM GOV MIL ORG US NET UK
  863. a43 2
  864. include(localhosts)
  865.  
  866. d133 11
  867. a149 2
  868. R$*<$+>$*        $1$2$3                defocus
  869.  
  870. d162 7
  871. a168 5
  872. # handle route-addr
  873. #  @@a,@@b:user@@c    <=> @@b:user@@c<@@a>        (focus added below)
  874. R@@$+,@@$+:$+        $:@@$2:$3@@$1
  875. #  @@a:user@@b     <=> user@@b<@@a>            (focus added below)
  876. R@@$+:$+            $:$2@@$1
  877. d172 1
  878. d186 2
  879. d190 1
  880. d192 3
  881. a194 2
  882. # this relies on matching the FIRST "!" in the address
  883. R$-.$+!$+        $@@$>6$3<@@$1.$2>            harvard.ARPA!root
  884. d197 11
  885. d209 4
  886. a212 1
  887. # Note ":" parsed after "!" so that site1!site2:user parsed as
  888. d214 5
  889. a218 7
  890. ifdef(`BITNETRELAY',
  891. `R$-:$+            $@@$>6$2<@@$1>            host:user'
  892. ,
  893. `# ":" means BITNET just like "!" means UUCP
  894. R$-:$+            $@@$>6$2<@@$1.BITNET>        host:user'
  895. )
  896. # this relies on matching the FIRST ":" in the address
  897. d227 8
  898. a234 3
  899. R$*<@@$=L>        $:$1<@@$[$2$]>
  900. R$*<@@$=L.$=D>        $:$1<@@$[$2$].$3>
  901. R$*<@@$-.$D>        $:$1<@@$[$2$]>
  902. d236 6
  903. d243 1
  904. d258 2
  905. a259 2
  906. R@@            $#local$:MAILER-DAEMON    handle <> form
  907. R$*<@@[$+]>        $#arpa-mailer$@@[$2]$:$1@@[$2]    numeric internet spec ?
  908. d267 11
  909. a277 4
  910. R$+<@@$w>        $@@$>7$1            user@@harvard
  911. R$+<@@$j>        $@@$>7$1            user@@harvard.HARVARD.EDU
  912. R$+<@@$w.ARPA>        $@@$>7$1            user@@harvard.ARPA (sigh)
  913. R$+<@@$w.$=D>        $@@$>7$1            user@@harvard.BITNET
  914. d279 1
  915. a279 1
  916. R$+<@@$D>        $@@$>7$1@@harvard.$D    user@@HARVARD.EDU
  917. d283 1
  918. d286 1
  919. d288 4
  920. a291 1
  921. R$w:$+<@@$+>        $1<@@$2>            harvard:USER@@SITE.ARPA
  922. a292 9
  923. # find local hosts
  924. R$*<@@$=L>        $1<@@$2.LOCAL>        horton@@aiken
  925. R$*<@@$=L.$=D>        $:$1<@@$2.LOCAL>        horton@@aiken.bitnet
  926. R$*<@@$-.$D>        $:$1<@@$2.LOCAL>        horton@@aiken.harvard.edu
  927. ifdef(`PATHALIAS',
  928. `# hack to remove pathalias stuff for local hosts
  929. R$*<@@$=L;nopath>    $:$1<@@$2.LOCAL>        horton@@aiken.uucp;nopath'
  930. ,`')
  931.  
  932. d296 2
  933. d300 2
  934. a301 2
  935. R$*<@@$*;bitnet>        $@@$>0$1%$2;bitnet<@@$F>
  936. R$*<@@$*;ccnet>        $@@$>0$1%$2;ccnet<@@$F>'
  937. d304 1
  938. a304 1
  939. R$*<@@$*;bitnet>        $#bitnet-mailer$@@$2$:$1
  940. d306 1
  941. a306 2
  942. R$*<@@$*;ccnet>        $#ccnet-mailer$@@$2$:$1'
  943. )
  944. d310 1
  945. a310 1
  946. R$*<@@$*;arpa>        $@@$>0$1%$2;arpa<@@$C>'
  947. d313 1
  948. a313 2
  949. R$*<@@$*;arpa>        $#arpa-mailer$@@$2$:$1<@@$2>'
  950. )
  951. d316 1
  952. a316 1
  953. R$*<@@$*;uucp>        $#uucp-mailer$@@$2$:$1
  954. d324 3
  955. d332 2
  956. d338 1
  957. a338 3
  958. `R$*<@@$=I.UUCP;nopath>    $#tcpuucp$@@$2$:$1'
  959. ,`')'
  960. )
  961. d342 1
  962. a342 2
  963. R$*<@@$=E.UUCP>        $#path-mailer$@@pathalias$:$2!$1'
  964. ,`')
  965. d346 1
  966. a346 2
  967. `R$*<@@$=U.UUCP;nopath>    $#uucp-mailer$@@$2$:$1'
  968. ,`')
  969. d351 1
  970. d353 1
  971. a353 2
  972. R$*;nopath        $1            pathaliased to this host'
  973. ,`')
  974. d357 1
  975. a357 1
  976. R$*<@@$*.UUCP>        $@@$>0$1%$2.UUCP<@@$E>    user@@somewhere.UUCP'
  977. d359 2
  978. a360 3
  979. `# uucp to unknown host - error
  980. R$*<@@$*.UUCP>        $#error$@@$2$:UnknownHost'
  981. )
  982. d364 1
  983. a364 1
  984. R$*<@@$*.$=F>        $@@$>0$1%$2.$3<@@$F>    user@@somewhere.BITNET'
  985. d368 1
  986. a368 2
  987. R$*<@@$*.CCNET>        $#ccnet-mailer$@@$2$:$1@@$2.CCNET'
  988. )
  989. d370 7
  990. d379 2
  991. a380 2
  992. R$*<@@$*.$=A>        $1%$2.$3<@@$C.LOCAL>    user@@somewhere.ARPA
  993. R$*<@@$*.$=C>        $1%$2.$3<@@$C.LOCAL>    user@@somewhere.CSNET'
  994. d387 1
  995. a387 2
  996. R$*<@@$*.MAILNET>    $#arpa-mailer$@@mit-multics.arpa$:$1<@@$2.MAILNET>'
  997. )
  998. a392 5
  999. # if it's us (or pretend it is), then strip the host name
  1000. R$*<@@$=J.LOCAL>        $@@$>7$1
  1001.  
  1002. include(relayrules)
  1003.  
  1004. d395 1
  1005. a395 1
  1006. R$*<@@$=B.LOCAL>        $@@$>0$1%$2.BITNET<@@$F>'
  1007. d398 1
  1008. a398 2
  1009. R$*<@@$=B.LOCAL>        $#bitnet-mailer$@@$2$:$1'
  1010. )
  1011. d400 6
  1012. a405 2
  1013. # tcp to local host
  1014. R$*<@@$=G.LOCAL>        $#ether-mailer$@@$2$:$1<@@$2.LOCAL>
  1015. d407 7
  1016. d415 1
  1017. a415 1
  1018. R$*<@@$=U.LOCAL>        $#uucp-mailer$@@$2$:$1        person@@localuucphost
  1019. d419 1
  1020. a419 1
  1021. R$*<@@$=L.LOCAL>        $@@$>0$1%$2<@@$L>'
  1022. d421 4
  1023. d426 1
  1024. a426 2
  1025. R$*<@@$*.LOCAL>        $#error$@@x$:UnknownLocalHost?'
  1026. )
  1027. d428 5
  1028. a432 3
  1029. # ??
  1030. R$*<$*.$*>        $#error$@@x$:UnknownDomain
  1031. R$*<@@$*>$*        $#error$@@x$:UnknownLocalHost
  1032. d439 1
  1033. a439 2
  1034. `R$+            $#local$:$1        everything else'
  1035. )
  1036. @
  1037.  
  1038.  
  1039. 1.4
  1040. log
  1041. @cf with mail clients and mail relay
  1042. @
  1043. text
  1044. @d199 2
  1045. a200 7
  1046. ifdef(`DOMAINS',
  1047. `R$*<@@$=L.$=D>        $:$1<@@$[$2$]>
  1048. R$*<@@$-.$D>        $:$1<@@$[$2$]>'
  1049. ,
  1050. `R$*<@@$=L.$=D>        $:$1<@@$[$2$].$3>
  1051. R$*<@@$-.$D>        $:$1<@@$[$2$].$D>'
  1052. )
  1053. d275 1
  1054. a275 1
  1055. R$*<@@$*;pathalias>    $#path-mailer$@@$2:$1
  1056. d287 1
  1057. a287 1
  1058. R$*<@@$=X.UUCP>        $#tcpuucp$@@$2$:$1
  1059. d289 1
  1060. a289 1
  1061. `R$*<@@$=X.UUCP;nopath>    $#tcpuucp$@@$2$:$1'
  1062. d295 1
  1063. a295 1
  1064. R$*<@@$=E.UUCP>        $#path-mailer$@@$2$:$1'
  1065. d305 1
  1066. a305 1
  1067. R$*<@@$*.UUCP>        $#path-mailer$@@$2$:$1    user@@somewhere.UUCP
  1068. d334 4
  1069. a337 4
  1070. R$*<@@$*.DEC>        $#arpa-mailer$@@decwrl$:$1<@@$2.DEC>
  1071. R$*<@@$*.UTEXAS>        $#arpa-mailer$@@ut-sally$:$1<@@$2.UTEXAS>
  1072. R$*<@@$*.CSNET>        $#arpa-mailer$@@csnet-relay$:$1<@@$2.CSNET>
  1073. R$*<@@$*.MAILNET>    $#arpa-mailer$@@mit-multics$:$1<@@$2.MAILNET>'
  1074. d343 1
  1075. d347 2
  1076. a361 2
  1077.  
  1078. include(relayrules)
  1079. @
  1080.  
  1081.  
  1082. 1.3
  1083. log
  1084. @New and Improved, but still Beta, cf.m4
  1085. @
  1086. text
  1087. @@
  1088.  
  1089.  
  1090. 1.2
  1091. log
  1092. @*** empty log message ***
  1093. @
  1094. text
  1095. @d13 1
  1096. a13 2
  1097. # local domain names
  1098. DDHARVARD.EDU
  1099. d27 1
  1100. a27 1
  1101. # known local hosts; x@@localhost -> x@@localhost.LOCAL
  1102. a28 69
  1103. # science center - UNIX
  1104. CLh-sc8 husc8 thor sc8 harvsc8 harvunxd
  1105. CLh-sc7 husc7 loki sc7 harvsc7 harvunxc
  1106. CLh-sc4 husc4 odin sc4 harvsc4 harvunxu
  1107. CLh-sc1 husc1 asgard sc1 harvsc1 harvunxa
  1108. CLh-sc2 husc2 bifrost sc2 harvsc2 harvunxb
  1109. CLh-lit1 hulit1 littauer lit1 harvlit1 harvunxl
  1110. CLh-ma1 huma1 math ma1 harvma1 harvunxm
  1111.  
  1112. # science center - VMS
  1113. CLh-sc3 husc3 roscoe rvms sc3 harvsc3
  1114. CLh-sc5 husc5 sylvie svms sc5 harvsc5
  1115. CLh-law1 hulaw1 law1 lvms harvlaw1
  1116.  
  1117. # william james
  1118. CLtalcott husoc1 h-soc1 soc1 harvunxt
  1119. CLpitirim husoc2 h-soc2 soc2
  1120. CLwjh12 hupsr1 h-psr1 psr1 harvunxw
  1121. CLhuelings
  1122.  
  1123. # aiken/DAS
  1124. CLharvard harvunxh
  1125. CLdasy
  1126. CLgauss
  1127. CLturing
  1128. CLgodel
  1129. CLboole
  1130. CLherebrand
  1131. CLrabin
  1132. CLatrios
  1133. CLzeos
  1134. CLpeladon
  1135. CLtraken
  1136. CLribos
  1137. CLskaro
  1138. CLharry
  1139. CLeleanor
  1140. CLchimera
  1141. CLtoyvax
  1142.  
  1143. # other harvard sites
  1144.  
  1145. # via harvard uucp
  1146. CLlhasa
  1147. CLharvchem
  1148. CLhurob1
  1149. CLmolphy
  1150. CLlasex
  1151. CLxray
  1152. # via ethernet
  1153. CLtardis
  1154. CLhustat
  1155. # via bitnet
  1156. CLharvarda
  1157. CLcfa1 cfa2
  1158. CLhuche1 huche2
  1159. CLhubus1
  1160. CLharvhep
  1161. CLhugse1
  1162. CLhuarp1
  1163. # via other routing
  1164. CLbiochem
  1165.  
  1166. # Apollo ringnet
  1167. CLhuapollo hucmt1 hucmt2
  1168.  
  1169. # School of public health et al.
  1170. CLhscfvax
  1171.  
  1172. d72 1
  1173. a72 3
  1174. ###################
  1175. ###   Options   ###
  1176. ###################
  1177. a73 40
  1178. # location of alias file
  1179. OA/usr/lib/aliases
  1180. # default delivery mode (deliver in background)
  1181. Odbackground
  1182. # (don't) connect to "expensive" mailers
  1183. Oc
  1184. # rebuild aliases automatically
  1185. OD
  1186. # temporary file mode
  1187. OF0640
  1188. # default GID
  1189. Og1
  1190. # location of help file
  1191. OH/usr/lib/sendmail.hf
  1192. # log level
  1193. OL5
  1194. # default messages to old style
  1195. Oo
  1196. # queue directory
  1197. OQ/usr/spool/mqueue
  1198. # read timeout -- violates protocols
  1199. Or2h
  1200. # status file
  1201. OS/usr/lib/sendmail.st
  1202. # queue up everything before starting transmission
  1203. #Os
  1204. # default timeout interval
  1205. OT3d
  1206. # time zone names (V6 only)
  1207. OtPST,PDT
  1208. # default UID
  1209. Ou1
  1210. # wizard's password
  1211. OWBRQTQQvpCSGFg
  1212. # load average at which to Queue mail
  1213. Ox6
  1214. # load average at which to refuse connections
  1215. OX10
  1216.  
  1217.  
  1218. d139 2
  1219. a140 2
  1220. #  @@a:user@@b     <=> :user@@b<@@a>            (focus added below)
  1221. R@@$+:$+            $::$2@@$1
  1222. d238 2
  1223. a239 2
  1224. R$*<@@$*;bitnet>        $@@$>0$1@@$2;bitnet<@@$F>
  1225. R$*<@@$*;ccnet>        $@@$>0$1@@$2;ccnet<@@$F>'
  1226. d249 1
  1227. a249 1
  1228. R$*<@@$*;arpa>        $@@$>0$1@@$2;arpa<@@$C>'
  1229. d267 5
  1230. d273 15
  1231. d289 1
  1232. a289 3
  1233. # but only if we know we don't want to send directly
  1234. R$*<@@$~X.UUCP>        $#path-mailer$@@$2$:$1    user@@somewhere.UUCP
  1235. R$*<@@$~U.UUCP>        $#path-mailer$@@$2$:$1    user@@somewhere.UUCP
  1236. a292 6
  1237. ifdef(`ARPARELAY',`',
  1238. `# resolve tcp uucp links
  1239. R$*<@@$=X.UUCP>        $#tcpuucp$@@$2$:$1'
  1240. )
  1241. # uucp direct to non-local host
  1242. R$*<@@$=E.UUCP>        $#uucp-mailer$@@$2$:$1        person@@remoteuucphost
  1243. d296 1
  1244. a296 1
  1245. R$*<@@$*.UUCP>        $@@$>0$1@@$2.UUCP<@@$E>    user@@somewhere.UUCP'
  1246. d304 1
  1247. a304 1
  1248. R$*<@@$*.$=F>        $@@$>0$1@@$2.$3<@@$F>    user@@somewhere.BITNET'
  1249. d313 2
  1250. a314 2
  1251. R$*<@@$*.$=A>        $1@@$2.$3<@@$C.LOCAL>    user@@somewhere.ARPA
  1252. R$*<@@$*.$=C>        $1@@$2.$3<@@$C.LOCAL>    user@@somewhere.CSNET'
  1253. d329 1
  1254. a329 1
  1255. R$*<@@$=B.LOCAL>        $@@$>0$1@@$2.BITNET<@@$F>'
  1256. d339 1
  1257. a339 1
  1258. R$*<@@$=E.LOCAL>        $#uucp-mailer$@@$2$:$1        person@@localuucphost
  1259. d346 1
  1260. a346 1
  1261. ifdef(NOLOCALRELAY,
  1262. d351 1
  1263. a351 1
  1264. R$*<@@$=L.LOCAL>        $@@$>0$1@@$2<@@$L>'
  1265. @
  1266.  
  1267.  
  1268. 1.1
  1269. log
  1270. @Initial revision
  1271. @
  1272. text
  1273. @d22 1
  1274. a22 1
  1275. CAARPA EDU COM GOV MIL ORG US NET
  1276. d48 1
  1277. d71 2
  1278. a72 1
  1279. CLbiochem
  1280. a73 1
  1281. CLharvarda
  1282. a75 1
  1283. CLtardis
  1284. d79 13
  1285. d93 6
  1286. d180 4
  1287. d279 6
  1288. a284 1
  1289. R$-:$+            $@@$>6$2<@@$1>            host:user
  1290. a297 5
  1291. ifdef(`BITNETRELAY',`',
  1292. `# Recognize BITNET hosts without BITNET domain specifier
  1293. R$*<@@$=I>        $:$1<@@$2.BITNET>
  1294. R$*<@@$=I.$=D>        $:$1<@@$2.BITNET>')
  1295.  
  1296. d330 2
  1297. d333 2
  1298. a334 2
  1299. R$U!$+<@@$+>        $1@@$2            harvard!USER@@SITE.ARPA
  1300. R$w:$+<@@$+>        $1@@$2            harvard:USER@@SITE.ARPA
  1301. d374 1
  1302. a374 1
  1303. R$*<@@$*;ether>        $#ether-mailer$@@$2$:$1
  1304. d381 5
  1305. a385 2
  1306. R$*<@@$*.UUCP>        $#path-mailer$@@$2$:$1    user@@somewhere.UUCP
  1307. R$*<@@$*;nopath>        $1<@@$2>            already tried pathalias'
  1308. d436 1
  1309. a436 1
  1310. R$*<@@$=G.LOCAL>        $#ether-mailer$@@$2$:$1        person@@localetherhost
  1311. d442 3
  1312. @
  1313.